package ace.cmp.security.core.impl.model.dto;

import java.util.Map;
import java.util.Set;

/**
 * @author caspar
 * @date 2023/7/31 17:23 代表资源服务解析token的结果
 */
public interface AceIntrospectPrincipalDto {
  /**
   * 认证对象id
   *
   * @return
   */
  String getId();

  /**
   * principal是什么类型
   * {@link AceIntrospectPrincipalType}
   *
   * @return
   */
  String getPrincipalType();

  /**
   * 权限
   *
   * @return
   */
  Set<String> getAuthorities();

  /**
   * 扩展属性
   *
   * @return
   */
  Map<String, Object> getAttributes();
}
